<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Config Class : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.in.th/">CodeIgniter.in.th</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a> &nbsp;&#8250;&nbsp;
Config Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" />ค้นหาคู่มือการใช้งาน&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ค้นหา" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>Config Class</h1>

<p>Config class เป็นคลาสที่รับค่าที่ปรับแต่งเป็นพิเศษโดยอาจจะมาจากไฟล์ปรับแต่งตามปกติ (<samp>application/config/config.php</samp>) หรือจากไฟล์ปรับแต่งของคุณเองก็ได้</p>

<p class="important"><strong>ข้อสังเกตุ:</strong> คลาสนี้พร้อมทำงานอัตโนมัติโดยระบบอยู่แล้วดังนั้นไม่ต้องเขียนโหลดมันขึ้นมาใช้เอง</p>


<h2>วิเคราะห์ไฟล์ปรับแต่ง</h2>

<p>โดยปกติแล้ว CodeIgniter มีไฟล์ปรับแต่งที่สำคัญเพียงแห่งเดียวอยู่ที่ <samp>application/config/config.php</samp>.  ถ้าคุณเปิดไฟล์โดยใช้โปรแกรมจัดการข้อความ(text editor) คุณจะเห็นว่าค่าปรับแต่งต่างๆจะถูกเก็บอยู่ในอาเรย์ที่เรียกว่า <var>$config</var></p>

<p>คุณสามารถเพิ่มค่าปรับแต่งเพิ่มเติมไปในไฟล์นี้หรือคุณจะเก็บเป็นไฟล์แยกตะหากก็ได้ (สมมุติว่าคุณต้องการค่าปรับแต่งเหล่านี้),
โดยสร้างไฟล์ของคุณขึ้นมาแล้วเซฟไว้ในโฟลเดอร์ <dfn>config</dfn></p>

<p><strong>ข้อสังเกตุ:</strong> ถ้าคุณสร้างไฟล์ของคุณโดยใช้ต้นแบบเดียวกับไฟล์ปรับแต่งสำคัญของ CodeIgniter โดยเก็บค่าต่างๆไว้ในอาเรย์ที่ชื่อว่า  <var>$config</var> แล้ว CodeIgniter จะเลือกไฟล์เหล่านี้อย่างชาญฉลาดเพื่อจัดการกับไฟล์เหล่านี้ ดังนั้นมันจะไม่ขัดแย้งกันเอง แม้แต่ใช้อาเรย์ที่มีชื่อซ้ำกัน (สมมุติว่าดัชนีอาเรย์ ไม่ได้มีชื่อเดียวกับอันหนึ่ง)</p>

<h2>โหลดไฟล์ปรับแต่ง</h2>

<p><strong>ข้อสังเกตุ:</strong> CodeIgniter โหลดไฟล์ปรับแต่งที่สำคัญอย่างอัตโนมัติ (<samp>application/config/config.php</samp>) ดังนั้นคุณต้องการเพียงโหลดไฟล์ปรับแต่งที่คุณสร้างขึ้นมาเอง</p>

<p>โดยมีสองทางเลือกในการโฟลดไฟล์ปรับแต่ง</p>

<ol>
<li><strong>โหลดเอง</strong>

  <p>ในการโหลดไฟล์ปรับแต่งสักตัวของคุณ คุณจะต้องใช้มันอยู่ภายใต้ฟังก์ชั่นของ <a href="../general/controllers.html">controller</a> ที่ต้องการมัน</p>

<code>$this->config->load('<var>filename</var>');</code>

<p>โดย <var>filename</var> คือชื่อของไฟล์ปรับแต่งของคุณโดยไม่ต้องใส่ .php</p>

<p>ถ้าคุณต้องการโหลดหลายไฟล์ปรับแต่ง โดยปกติมันจะรวมเข้ากับอาเรย์ค่าปรับแต่งหลัก  ชื่อชนกันสามารถเกิดขึ้นได้ อย่างไรก็ตามถ้าคุณมีชื่อดัชนีอาเรย์ที่ซ้ำกันในต่างไฟล์ปรับแต่ง  เพื่อหลีกเลี้ยงการชนกันคุณสามารถตั้งค่าที่สองเป็น <kbd>TRUE</kbd>
และไฟล์ปรับแต่งจะถูกเก็บไว้ในดัชนีอาเรย์ตที่สอดคล้องกับชื่อไฟล์ปรับแต่งนั้น ตัวอย่างเช่น:</p>

<code>
// วิธีนี้จะทำให้เก็บไว้ในอาเรย์แบบนี้:  $this->config['blog_settings'] = $config<br />
$this->config->load('<var>blog_settings</var>', <kbd>TRUE</kbd>);</code>

<p>กรุณาดูส่วนที่ชื่อว่า <dfn>การนำค่าของการปรับแต่งมาใช้งาน</dfn> ด่านล่างเพื่อเรียนรู้วิธีรับไฟล์ปรับแต่งมาใช้งาน</p>

<p>ส่วนค่าพารามิเตอร์ที่สามจะยอมให้คุณยกเลิกข้อผิดพลาดในกรณีที่ไม่มีไฟล์ปรับแต่งนั้นอยู่</p>

<code>$this->config->load('<var>blog_settings</var>', <dfn>FALSE</dfn>, <kbd>TRUE</kbd>);</code>

</li>
<li><strong>โหลดแบบอัตโนมัติ</strong>

  <p>ถ้าคุณค้นพบว่าคุณต้องการไฟล์ปรับแต่งสามารถใช้ได้โดยรวม คุณสามารถโหลดมันอย่างอัตโนมัติได้จากระบบ เพื่อการทำสิ่งนี้ให้คุณเปิดไฟล์ <strong>autoload.php</strong> ซึ่งอยู่ที่ <samp>application/config/autoload.php</samp> และเพิ่มชื่อไฟล์ปรับแต่งของคุณลงไปที่นี้</p>
  <code>// เขียนแค่ชื่อไฟล์โดยไม่ต้องใส่ .php<br />
  $autoload['config'] = array('config1','config2');</code>
</li>
</ol>


<h2>การนำค่าของการปรับแต่งมาใช้งาน</h2>

<p>ในการรับค่าจากไฟล์ปรับแต่งให้คุณใช้ตามฟังก์ชั่นนี้</p>

<code>$this->config->item('<var>item name</var>');</code>

<p>โดย <var>item name</var> คือดัชนีอาเรย์ของ $config ที่คุณต้องการรับมา ยกตัวอย่างเช่น การนำค่าภาษาที่ต้องการออกมาคุณต้องทำแบบนี้</p>

<code>$lang = $this->config->item('language');</code>

<p>โดยฟังก์ชั่นจะคือค่ากลับมาเป็น FALSE (boolean) ถ้าไม่มีการตั้งค่าของชื่อนั้น</p>

<p>ถ้าคุณกำลังใช้ค่าพารามิเตอร์ที่สองของฟังก์ชั่น <kbd>$this->config->load</kbd> เพื่อส่งค่าปรับแต่งไปยังดัชนีที่เจาะจง คุณสามารถรับมันได้โดยเขียนชื่อดัชนีในพารามิเตอร์ที่สองของฟังก์ชั่น <kbd>$this->config->item()</kbd> ตัวอย่างเช่น</p>

<code>
// Loads a config file named blog_settings.php and assigns it to an index named "blog_settings"<br />
$this->config->load('<var>blog_settings</var>', <kbd>TRUE</kbd>);<br /><br />

// Retrieve a config item named site_name contained within the blog_settings array<br />
$site_name = $this->config->item('<dfn>site_name</dfn>', '<var>blog_settings</var>');<br /><br />

// An alternate way to specify the same item:<br />
$blog_config = $this->config->item('<var>blog_settings</var>');<br />
$site_name = $blog_config['site_name'];</code>

<h2>ตั้งค่าของรายการปรับแต่ง</h2>

<p>ถ้าคุณต้องการที่จะตั้งค่ารายการอันใดอันหนึ่งแบบไดนามิคหรือเปลี่ยนเป็นอีกอัน คุณจะต้องใช้ดังนี้</p>

<code>$this->config->set_item('<var>item_name</var>', '<var>item_value</var>');</code>

<p>โดย <var>item_name</var> คือชื่อดัชนีอาเรย์ $config ที่คุณต้องการเปลี่ยนและ <var>item_value</var> คือค่าที่ต้องการตั้งหรือเปลี่ยน</p>


<h2>ฟังก์ชั่นผู้ช่วย</h2>

<p>config class มีฟังก์ชั่นตัวช่วยดังนี้</p>

<h2>$this->config->site_url();</h2>
<p>ฟังก์ชั่นนี้จะรับ URL จากไซค์ของคุณตามด้วยค่า  "index" ที่คุณตั้งไว้ในไฟล์ปรับแต่ง</p>

<h2>$this->config->system_url();</h2>
<p>ฟังก์ชั่นนี้รับ URL ของ<dfn>โฟลเดอร์ระบบ(system folder)</dfn></p>


</div>
<!-- END CONTENT -->


<div id="footer">
<p>
หัวข้ออันก่อน:&nbsp;&nbsp;<a href="cart.html">Cart Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="../database/index.html">Database Class</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></p><p>
<a href="http://codeigniter.com">CodeIgniter</a>
 ·  Copyright © 2006-2009  · 
<a href="http://ellislab.com/">Ellislab, Inc.</a>
</p>
</div>

</body>
</html>